<?php

/*
 * Classe para tratamento de erros da aplicação.
 */
class ErrorHandler {

    /**
     *  Metodo Private para evitar instanciar diretamente o objeto
     */
    private function __construct() {
        
    }

    public static function SetHandler($error_types = ERROR_TYPES) {
        return set_error_handler(array('ErrorHandler', 'Handler'), $error_types);
    }
    
    /*
     * As class definidas nas marcações div são temas do jQuery-UI CSS
     */

    public static function Handler($errno, $errstr, $errfile, $errline, $errcontext) {

        $msgErr = '<p>';
        $msgErr .= 'Erro No.: ' . $errno . '<br />';
        $msgErr .= 'Mensagem: ' . $errstr . '<br />';
        $msgErr .= 'Arquivo: ' . $errfile . '<br />';
        $msgErr .= 'Linha: ' . $errline . '<br />';
        $msgErr .= '</p>';

        $err_i =  "<div class=\"ui-widget\">";
        $err_i .= "<div class=\"ui-state-error ui-corner-all\" style=\"padding: 0 .7em;\">";
        $err_i .= "<p><span class=\"ui-icon ui-icon-alert\" style=\"float: left; margin-right: .3em;\"></span>";
        $err_i .= "<strong>Alert: </strong>";
        
        $err_f = "</p></div></div>";
        
        echo $err_i . $msgErr . $err_f;

        exit;

    }

}

?>
